(function($){ 
	
	// 向body里添加遮罩层
	$("body").append('<div class="mask"></div>');
	// 向body里添加弹出层
	$("body").append('<div class="dialog" id="dialog"></div>');
	// 向body里添加信息确认层
	var buffer = [];
	buffer.push('<div class="template" id="dialog_template">');
	buffer.push('<div class="dialog_title">');
	buffer.push('提示<i class="close icon-remove" data-id="close"></i>');
	buffer.push('</div>');
	buffer.push('<div class="dialog_content" id="dialog_content" style="padding-left:20px"></div>');
	buffer.push('<div class="dialog_foot" style="text-align: right">');
	buffer.push('<button class="btn btn-default um-dialog-btn" data-id="close" type="button" style="margin-right:10px;">关闭</button>');
	buffer.push('<button class="btn btn-default um-dialog-btn" data-id="enter" type="button" style="margin-right:10px;">确认</button>');
	buffer.push('<button class="btn btn-default um-dialog-btn" data-id="cancel" type="button">取消</button>');
	buffer.push("</div>");
	buffer.push('</div>');
	$("body").append(buffer.join(""));
	// 对外公布的方法
    var methods =
    {
    	alert: function(option) {
    		option.content = (option.content == undefined ? "操作成功。" : option.content);
    		$("#dialog_template").find("[data-id=close]").show();
    		$("#dialog_template").find("[data-id=enter]").hide();
    		$("#dialog_template").find("[data-id=cancel]").hide();
    		$("#dialog_template").find("[id=dialog_content]").html(option.content);
    		$("#dialog_template").umDialog(option);
    	},
    	confirm: function(option) {
    		option.top = "30%";
    		option.left = "40%";
       		$("#dialog_template").find("[data-id=close]").hide();
    		$("#dialog_template").find("[data-id=enter]").show();
    		$("#dialog_template").find("[data-id=cancel]").show();
    		$("#dialog_template").find("[id=dialog_content]").html(option.content);
    		$("#dialog_template").umDialog(option);
    	},
    	dialog: function(option) {
       		$("#dialog_template").find("[data-id=close]").hide();
    		$("#dialog_template").find("[data-id=enter]").show();
    		$("#dialog_template").find("[data-id=cancel]").show();
    		$("#dialog_template").find("[id=dialog_content]").html(option.content);
    		$("#dialog_template").umDialog(option);
    	},
	    close: function() {
			$("[class=mask]").css("opacity" ,"0");
			$("[class=mask]").css("z-index" ,"-1");
	    	$("[class=dialog]").hide();
	    }
    };
	
	$.fn.umDialog = function(options){
        if (methods[options]) {
            return methods[options].apply(this, Array.prototype.slice.call(arguments, 1));
        }
		var defaults =
			{
				left:"50%",
				top:"30%"
			};
		var options = $.extend(defaults, options);
		this.each(function()
		{
			var content = $(this).html();
			$("[class=dialog]").height(options.height);
			$("[class=dialog]").width(options.width);
			$("[class=dialog]").css("left" ,options.left);
			$("[class=dialog]").css("top" ,options.top);
			$("[class=mask]").css("opacity" ,"0.3");
			$("[class=mask]").css("z-index" ,"98");
			
			$("[class=dialog]").html(content);
			
			if (options.render)
			{
				options.render(options.renderObj);
			}
			
			$("[class=dialog]").show();
			
			$("[class=dialog]").find("[data-id=close]").click(function ()
			{
				$("[class=dialog]").umDialog("close");
			});
			
			$("[class=dialog]").find("[data-id=cancel]").click(function ()
			{
				$("[class=dialog]").umDialog("close");
			});
			
			$("[class=dialog]").find("[data-id=reset]").click(function ()
			{
			});
			
			$("[class=dialog]").find("[data-id=enter]").click(function ()
			{
				options.enter_method(options.enter_method_param);
			});
		});
	};
})(jQuery);